home *** CD-ROM | disk | FTP | other *** search
/ Almathera Ten Pack 3: CDPD 3 / Almathera Ten on Ten - Disc 3: CDPD3.iso / scope / 051-075 / scopedisk69 / cclat / cc.doc < prev    next >
Text File  |  1995-03-19  |  4KB  |  122 lines

  1.     CC: a unix-like compiler driver for amiga lattice-c (that also
  2.         filters out stupid messages!)
  3.  
  4.     USAGE:
  5.     cc [args] file...
  6.  
  7.       Arguments are ([x] means x is optional):
  8.  
  9.     file        A file to compile or link.  Currently, only .c and .o
  10.             are understood, although supporting .s files would
  11.             probably be pretty simple.
  12.  
  13.     -o execfile    Write the resulting executable to EXECFILE (only
  14.             meaningful when linking).
  15.  
  16.     -c        Don't link the object file, just leave it there.
  17.  
  18.     -g[num]        Compile in debugging info, using debug-level NUM.
  19.     -O        Use the global optimizer (incompatible with -g).
  20.     -P        Just pre-process the file, creating a .pp file.
  21.  
  22.     -l libname    Add LIBNAME.lib to the list of libraries.
  23.  
  24.     -I dir        Add the directory DIR to the path searched for include
  25.             files.
  26.     -D define    Add DEFINE a pre-processor define; it can be just a name
  27.             or name=value.
  28.     -U undefin    Undefine the symbol UNDEFINE (this really doesn't work).
  29.     -L libdir    Add the directory LIBDIR to the path searched for
  30.             libraries.
  31.     -B bindir    Add the directory BINDIR to the path searched for
  32.             binaries.
  33.  
  34.     -px string    Put STRING on the command line of compiler pass X, where
  35.             X is one of: 1-- pass1; 2-- pass2; o-- optimizer;
  36.             and l-- linker.  This switch can be used to get at
  37.             compiler features that cc doesn't directly support,
  38.             although it'd be better to just add the feature to cc
  39.             (it shouldn't be too hard)-- and send the change
  40.             back to me (bader+@andrew.cmu.edu)!
  41.  
  42.     -t tempdir    Use TEMPDIR as the place to put temporary files.
  43.  
  44.     +ansi            Enforce ansi fascism.
  45.     +cpp            Compat with c++.
  46.     +trad            Use traditional style cpp.
  47.  
  48.     +[no-]abs-code        Use long (absolute) addressing for function
  49.                 calls.
  50.     +[no-]abs-data        Use long (absolute) addressing for data.
  51.  
  52.     +[no-]reload-a4        Reload reg a4 in each function.
  53.     +[no-]short-ints    Use short integers.
  54.     +[no-]reg-args        Use register argument passing.
  55.     +[no-]long-align    Align everything to long boundaries.
  56.     +[no-]stack-check    Put stack-checking into the func prolog.
  57.     +[no-]pure-strings    Put strings in the text segment.
  58.  
  59.     +ffp            Use motorola fast floating point.
  60.     +881            Compile for a 68881.
  61.     +ieee            Ieee floating point.
  62.  
  63.     +68k            Compile for a 68000 and up.
  64.     +020            Compile for a 68020 and up.
  65.     +030            Compile for a 68030.
  66.  
  67.     +[no-]detach        Make a program that runs in the background.
  68.     +[no-]tiny-main        Use tinymain (this doesn't work).
  69.     +[no-]resident        Try and make resident-able.
  70.     +[no-]catch        Compile in code to try and catch exceptions.
  71.  
  72.     +[no-]optimize        Optimize the obj module.
  73.     +[no-]link        Link the object modules.
  74.     +[no-]compile        (Otherwise, just pre-process).
  75.     +[no-]assemble        Emit object-modules (else assembly).
  76.     +[no-]debug        Produce debugging info.
  77.  
  78.     +[no-]echo        Echo what we execute.
  79.     +[no-]filter        Filter out yucky message from passes.
  80.     +[no-]exec        Actually run each pass.
  81.  
  82.     +[no-]big-lc1        Run lc1b instead of lc1.
  83.  
  84.     DEFAULTS:
  85.         The default options are: +compile +link +stack-check +exec +filter
  86.  
  87.     The default output file is "a.out".
  88.  
  89.     The default temp directory is "t:".
  90.  
  91.     The default debug level when just -g (or +debug) is specified is 3.
  92.  
  93.     The default libraries are: "-lc", "-lamiga".
  94.  
  95.     NOTES:
  96.     The library -lm is replaced by whichever math library is appropiate
  97.     given other switches (like +ieee or +ffp), and -lc is replaced by
  98.     the appropiate c library-- so be and sure to pass the same set of
  99.     switches to cc when linking as you do when compiling (with -c) the
  100.     object files!
  101.  
  102.     This version of cc is intended for use with lattice c version 5.
  103.  
  104.     BUGS:
  105.     I haven't nearly tested all the possible combinations of options.
  106.  
  107.     The libraries supplied by lattice aren't complete, so some combos
  108.     of switches may not be possible (e.g., +reg-args and +ieee-- lattice
  109.     doesn't supply a libieeer.lib, and so linking fails in this case).
  110.  
  111.     -U doesn't work.
  112.  
  113.     -S doesn't work (and isn't ever likely too unless lattice makes
  114.     omd a much better program).
  115.  
  116.     Compiling .s (assembly) files isn't implemented, even though it's
  117.     probably pretty simple, using asm.  I just never needed it...
  118.  
  119.     AUTHOR:
  120.     Miles Bader (bader+@andrew.cmu.edu)
  121.        from an earlier program by Fred Fish.
  122.